home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / unix / linstd / linux.std < prev    next >
Encoding:
Text File  |  1992-03-11  |  8.0 KB  |  281 lines

  1.  
  2.  
  3. From: abc@banjo.concert.net (Alan B Clegg)
  4. Subject: Linux File System Document Revision 1.0
  5. Date: 9 Mar 92 14:33:45 GMT
  6.  
  7. Before I get a flamefull response, let me tell everyone that this document has
  8. been through several revisions, and is currently at a point that has pleased
  9. most people.  Please note that it is a *GUIDELINE* and is not *REQUIRED*, but
  10. if most people follow the guidelines, we all get along a lot better.
  11.  
  12. If you have comments/questions about this document, and you are not on the
  13. linux-standards mailing list, I would ask that you join the list.  The request
  14. address is:  linux-standards-request@banjo.concert.net.  Please try to keep
  15. debate off the news group, and on the mailing list.
  16.  
  17. For those of you on the linux-standards list, the verticle bars in column one
  18. represent the only changes from draft 2.
  19.  
  20. ==== SNIP HERE ====
  21.  
  22. The following is being submitted by Alan Clegg [abc@concert.net] on behalf
  23. of the Linux-Standards list as the standard for directory file structure
  24. under Linux.
  25.  
  26. Revision 1.0
  27.  
  28. Complete implementation of this file structure is completely voluntary,
  29. and will not be enforced, but will be recommended.  This specification
  30. is released as guidelines for people porting and writing software for
  31. the Linux Operating System to allow easy software installation, upgrade, and
  32. tailoring on already installed systems.
  33.  
  34. Root Directory:
  35.  
  36.         Files:
  37.                 {none defined by spec}
  38.  
  39.         Directories:
  40.                 bin dev etc home lib mnt usr
  41.         
  42.         Rationale:
  43.                 The root directory should not be cluttered with files or
  44.                 directories, and should contain no user programs.
  45.  
  46. /bin Directory:
  47.  
  48.         Files:
  49.                 sh init mount umount dd cat ls fsck {and as needed}
  50.  
  51.         Directories:
  52.                 {none defined by spec}
  53.  
  54.         Rationale:
  55.                 The /bin directory should contain programs that are vital
  56.                 to the restoration of other file systems in the case of 
  57.                 a corrupting crash.  No executable in /bin should require
  58.                 any other file system to be mounted to execute correctly.
  59.  
  60. /dev Directory:
  61.  
  62.         Files:
  63.                 {device files}
  64.  
  65.         Directories:
  66.                 {none define by spec}
  67.  
  68.         Rationale:
  69.                 Standard UNIX device files.  This directory should contain
  70.                 device entries for all devices that are supported in the
  71.                 standard kernel, even if the hardware device does not exist
  72.                 on the system.
  73.  
  74. /etc Directory:
  75.  
  76.         Files:
  77.                 mtab passwd rc ttytab {and as needed}
  78.  
  79.         Directories:
  80.                 {none defined by spec}
  81.  
  82.         Rationale:
  83.                 Standard location of files required during system boot.  Files
  84.                 in this directory are usually system specific.  Most will
  85. |               require human intervention during system upgrade.  /etc will
  86. |               also contain administrative binaries that should not be in
  87. |               the normal users PATH.
  88.  
  89. /home Directory:
  90.         
  91.         Files:
  92.                 NONE
  93.  
  94.         Directories:
  95.                 {one per user excepting root}
  96.  
  97.         Rationale:
  98.                 Standard location of users home directories.  Will most likely
  99.                 be a mounted file system once the system is up.  root's home
  100.                 directory should be /.
  101.  
  102. /lib Directory:
  103.  
  104.         Files:
  105.                 {libraries required for system initialization}
  106.  
  107.         Directories:
  108.                 {none defined by spec}
  109.  
  110.         Rationale:
  111.                 To keep the size of the root partition small (if separate from
  112.                 /usr), the files in this directory should only be ones required
  113.                 by files in the root partition.
  114.  
  115. /mnt Directory:
  116.         
  117.         Files:
  118.                 NONE
  119.  
  120.         Directories:
  121.                 NONE
  122.  
  123.         Rationale:
  124.                 Standard mount point for external (transient) file systems.
  125.                 Must be available for sub-system installation.  Should remain
  126.                 as an empty directory.
  127.  
  128. /tmp Directory:
  129.         
  130.         Files:
  131.                 NONE
  132.         
  133.         Directories:
  134.                 NONE
  135.  
  136.         Rationale:
  137.                 Temporary file space available for general program use.  May
  138.                 become a mounted partition upon system boot.
  139.  
  140. /usr Directory:
  141.  
  142.         Files:
  143.                 {none defined by spec}
  144.  
  145.         Directories:
  146.                 adm bin spool local lib etc man include src tmp
  147.  
  148.         Rationale:
  149.                 /usr is the mount point for the second major (after root)
  150.                 hierarchy of file structure and is discussed in the next
  151.                 section.
  152.  
  153. /usr/adm Directory:
  154.  
  155.         Files:
  156.                 {none defined in spec}
  157.  
  158.         Directories:
  159.                 {none defined in spec}
  160.  
  161.         Rationale:
  162.                 Location of log files and accounting information.
  163.  
  164. /usr/bin Directory:
  165.  
  166.         Files:
  167.                 {all executable files from standard distribution not contined
  168.                  in /bin}
  169.  
  170.         Directories:
  171.                 {none defined in spec}
  172.  
  173.         Rationale:
  174.                 contains 'drop-in' executables that are considered to be
  175.                 standard to the UNIX system.  These files should NOT be
  176.                 Linux specific, but should have the same function as their
  177.                 UNIX equivalents.
  178.  
  179. /usr/etc Directory:
  180.         
  181.         Files:
  182.                 {none defined in spec}
  183.  
  184.         Directories:
  185.                 {none defined in spec}
  186.  
  187.         Rationale:
  188.                 contains configuration files for any files in /usr/bin. helps
  189.                 to keep /etc clean and small.
  190.  
  191. /usr/spool Directory:
  192.  
  193.         Files:
  194.                 {none defined in spec}
  195.  
  196.         Directories:
  197.                 uucp mail
  198.  
  199.         Rationale:
  200.                 containes spool files for mail, printing, uucp transfer, etc.
  201.                 May be a mount point for another volume.
  202.  
  203. /usr/local Directory:
  204.  
  205.         Files:
  206.                 NONE
  207.         
  208.         Directories:
  209.                 bin lib etc man src
  210.  
  211.         Rationale:
  212.                 contains files local to the specific system.  will not be
  213.                 modified by upgrade process. 
  214.  
  215. /usr/lib Directory:
  216.  
  217.         Files:
  218.                 libc.a crt0.s {and as needed}
  219.  
  220.         Directories:
  221.                 {none defined in spec}
  222.  
  223.         Rationale:
  224.                 location for library files required for multi-user system
  225.                 operation.  This is the directory where program libraries
  226. |               should reside.  /usr/lib will also contain binaries required
  227. |               to support programs residing in /usr/bin.
  228.  
  229. /usr/man Directory:
  230.  
  231.         Files:
  232.                 NONE
  233.         
  234.         Directories:
  235.                 man1 man2 man3 man4 man5 man6 man7 man8
  236.  
  237.         Rationale:
  238.                 Contains manual pages for programs that are standard with
  239.                 Linux.
  240.  
  241. /usr/include Directory:
  242.  
  243.         Files:
  244.                 {programmers include files}
  245.  
  246.         Directories:
  247.                 {as needed}
  248.  
  249.         Rationale:
  250.                 Standard place for system include files.
  251.  
  252. /usr/src Directory:
  253.         
  254.         Files:
  255.                 NONE
  256.         
  257.         Directories:
  258.                 bin lib linux usr.bin usr.lib
  259.  
  260.         Rationale:
  261.                 Contains source code for all applications in the release.
  262.                 /usr/src/linux contains directories required for kernel builds.
  263.  
  264. /usr/tmp Directory:
  265.  
  266.         Files:
  267.                 NONE
  268.  
  269.  
  270.         Directories:
  271.                 NONE
  272.  
  273.         Rationale:
  274.                 Used as additional scratch space for programs.  If /tmp is
  275.                 a mounted file system, /usr/tmp may be a symbolic link to
  276.                 /tmp.
  277.  
  278. -- 
  279. abc@concert.net                         Alan Clegg - Network Programmer
  280. KD4JML (just my luck!)                  MCNC -- Center for Communications
  281.  
  282. [/home1/c/colin/steve] >